﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YServer
{
    public  class SocketModel
    {
        /// <summary>
        /// 一级协议 所属逻辑模块（如 注册，登录，战斗...）
        /// </summary>
        public byte type { get; set; }

        /// <summary>
        /// 二级协议 逻辑模块的子模块
        /// </summary>
        public int area { get; set; }

        /// <summary>
        /// 三级协议 当前的命令
        /// </summary>
        public int command { get; set; }

        /// <summary>
        /// 消息体 （用于记录传输的数据，如用户对象（包含账号密码）、角色
        /// 对象（包含角色信息）等，需要时再强转）
        /// </summary>
        public object transModel { get; set; }

        public SocketModel() { }
        public SocketModel(byte t,int a,int c,object model=null) {
            type = t;
            area = a;
            command = c;
            transModel = model;
        }

        public T GetTransModel<T>() {
            return (T)transModel; 
        }

    }
}
